package com.flag.liutao.modules.user.service;

import com.flag.liutao.modules.user.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.flag.liutao.modules.user.param.UserCountQueryParam;
import com.flag.liutao.modules.user.param.UserParam;
import com.flag.liutao.modules.user.vo.UserQueryVo;
import com.flag.liutao.modules.user.vo.UserVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author godM
 * @since 2022-11-18
 */
public interface IUserService extends IService<User> {

    List<String> getAuthorities(Long id);

    UserVo getUserInfoById(String uid);

    Map<String, Object> getUserPage(int page, int limit, String keyword, Long gradeId, Long majorId, Long deptId, Long unitId, Long roleId, Integer status);

    void addUser(UserParam param);

    void editUser(UserParam param);

    void delUser(Long id);

    UserQueryVo getUserQueryInfoById(Long id);

    void editUseStatus(Integer status,Long id);

    Map<String, Object> getUserCountByUnit(UserCountQueryParam param);
}
